home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1986-12-15 | 2.1 KB | 61 lines |
- 10 'USRUTIL1.BAS - Prints the RBBS-PC user file in lastname, firstname sequence
- 20 ' by Jon Martin 12/28/83.
- 30 DEFINT A-Z
- 40 DEF FNFL$(A$)=LEFT$(MID$(A$+" , ",INSTR(A$+" , ",", ")+2),INSTR(MID$(A$+", ",INSTR(A$+", ",", ")+3)+" "," "))+LEFT$(A$+", ",INSTR(A$+", ",", ")-1)
- 50 DEF FNSS$(A$)=LEFT$(A$+" ",INSTR(A$+" "," ")-1)
- 60 DEF FNPR$(A$,A%)=LEFT$(A$+SPACE$(A%),A%)
- 70 DEF FNCO$(A$)=MID$(A$,1,(INSTR(A$," ")-1))+", "+RIGHT$(A$,(LEN(A$)-INSTR(A$," ")))
- 80 KEY OFF
- 90 LINE.COUNT=66
- 100 CLS
- 110 PRINT:PRINT:INPUT"ARE YOU READY TO PROCEED WITH PRINT USER FILE";Y$
- 120 IF LEFT$(Y$,1) = "Y" OR LEFT$(Y$,1) = "y" THEN 140
- 130 PRINT "PRINT USER FILE RUN ABORTED.":GOTO 520
- 140 CLS:PRINT "PRINT USER FILE RUN STARTED AT ";TIME$
- 150 OPEN "R",1,"USERS",128:END.USER=LOF(1)/128
- 160 OPEN "O",2,"SORT.INP"
- 170 FIELD 1,31 AS N$,15 AS PW$,1 AS ST$,14 AS OP$,1 AS SCL$,24 AS CS$,20 AS MA$,14 AS TD$,3 AS LND$,2 AS UDL$,2 AS UUL$
- 180 UDX=1
- 190 IF UDX > END.USER THEN CLOSE 2:GOTO 300
- 200 GET 1,UDX
- 210 IF LEFT$(N$,5)=SPACE$(5) THEN 290
- 220 NAME.WORK$=FNSS$(N$)
- 230 NAME.WORK$=FNCO$(NAME.WORK$)
- 240 NAME.WORK$=FNFL$(NAME.WORK$)
- 250 NAME.WORK$=FNPR$(NAME.WORK$,31)
- 260 NUMBER.WORK$=FNPR$(STR$(UDX),5)
- 270 SORT.WORK$=NAME.WORK$+NUMBER.WORK$
- 280 PRINT#2,SORT.WORK$
- 290 UDX=UDX+1:GOTO 190
- 300 'SORT RECORDS
- 310 PRINT:PRINT"SORT PHASE STARTED AT ";TIME$
- 320 DEF SEG:PEEK.HOLD.ONE=PEEK(&H30):PEEK.HOLD.TWO=PEEK(&H31)
- 330 SHELL.HOLD$="SORT <SORT.INP >SORT.OUT":SHELL SHELL.HOLD$
- 340 POKE &H30,PEEK.HOLD.ONE:POKE &H31,PEEK.HOLD.TWO
- 350 PRINT:PRINT"SORT PHASE ENDED AT ";TIME$
- 360 'FIND USERS
- 370 OPEN "I",2,"SORT.OUT"
- 380 IF EOF(2) THEN 520
- 390 INPUT#2,SORT.WORK$
- 400 UDX=VAL(RIGHT$(SORT.WORK$,5))
- 410 GET 1,UDX
- 420 IF ASC(N$)=0 THEN 380 ELSE A$=RIGHT$(" "+STR$(LOC(1)),5)+":"+LEFT$(SORT.WORK$,31):IF ST$<>"Y"THEN A$=A$+" <Locked out>"
- 430 A$=A$+"Pw="+PW$+" Times on="+STR$(CVI(MID$(OP$,1,2)))
- 440 GOSUB 560:LPRINT A$
- 450 IF SCL$="Y" THEN A$=" (SYSOP) " ELSE A$=" "
- 460 A$=A$+TD$+" "+CS$+MA$
- 470 LPRINT A$
- 480 A$=" DOWNLOADS="+STR$(CVI(UDL$)):A$=A$+SPACE$(30-LEN(A$))+"UPLOADS="+STR$(CVI(UUL$))
- 490 LPRINT A$:LPRINT
- 500 LINE.COUNT=LINE.COUNT+4
- 510 GOTO 380
- 520 'END PROGRAM
- 530 PRINT:PRINT "PRINT USER FILE RUN ENDED AT ";TIME$
- 540 CLOSE
- 550 KILL "SORT.INP":KILL "SORT.OUT":LPRINT CHR$(12):END
- 560 IF LINE.COUNT< 60 THEN RETURN
- 570 LPRINT CHR$(12)
- 580 LPRINT TAB(30);"RBBS-PC SORTED USER LIST"
- 590 LPRINT:LPRINT:LINE.COUNT=3
- 600 RETURN
-